package org.example.dataStruct;

import org.example.Main;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class array {

    private static final Logger logger = LoggerFactory.getLogger(array.class);
    /**
     * 索引index处插入元素num
     * @param nums 数组
     * @param num 要插入的元素
     * @param index 要插入的位置
     */
    public void Insert(int[]nums,int num,int index){
        print(nums);
        for(int i=nums.length-1;i>index;i--)   {
            nums[i]=nums[i-1];
            print(nums);
        }
        nums[index]=num;
        print(nums);
    }

    /**
     * 删除索引为index处的元素
     * @param nums 数组
     * @param index 要删除的位置
     */
    public void remove(int []nums,int index){
        print(nums);
        for(int i=index;i<nums.length-1;i++){
            nums[i]=nums[i+1];
            print(nums);
        }
        nums[nums.length-1]=0;
        print(nums);
    }

    /**
     * 数组扩容
     * @param nums 数组
     * @param enlarge 要扩容的大小
     * @return
     */
    public int[]extend(int []nums,int enlarge){
        int []res=new int[nums.length+enlarge];
        for(int i=0;i<nums.length;i++){
            res[i]=nums[i];
        }
        return res;
    }

    public void print(int[]numb){
        for (int num : numb) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}
